home *** CD-ROM | disk | FTP | other *** search
/ Robotics & Artificial Int…3 (Professional Edition) / Robotics & Artificial Intelligence Tools 2003 (Professional Edition).iso / robot software / webots-kros-1.0.1_setup.exe / {app} / kteam / include / sys / stat-dj.h < prev    next >
C/C++ Source or Header  |  1999-12-23  |  2KB  |  60 lines

  1. /* This is file STAT.H */
  2. /*
  3. ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. **
  5. ** This file is distributed under the terms listed in the document
  6. ** "copying.dj", available from DJ Delorie at the address above.
  7. ** A copy of "copying.dj" should accompany this file; if not, a copy
  8. ** should be available from where this file was obtained.  This file
  9. ** may not be distributed without a verbatim copy of "copying.dj".
  10. **
  11. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. */
  14.  
  15. #ifndef _STAT_H_
  16. #define _STAT_H_
  17.  
  18. struct    stat {
  19.     short st_dev;
  20.     short st_ino;
  21.     unsigned short st_mode;
  22.     short st_nlink;
  23.     short st_uid;
  24.     short st_gid;
  25.     short st_rdev;
  26.     short st_align_for_word32;
  27.     long  st_size;
  28.     long  st_atime;
  29.     long  st_mtime;
  30.     long  st_ctime;
  31.     long  st_blksize;
  32. };
  33.  
  34. #define S_IFMT    0xF000    /* file type mask */
  35. #define S_IFDIR    0x4000    /* directory */
  36. #define S_IFIFO    0x1000    /* FIFO special */
  37. #define S_IFCHR    0x2000    /* character special */
  38. #define S_IFBLK    0x3000    /* block special */
  39. #define S_IFREG    0x8000    /* or just 0x0000, regular */
  40. #define S_IREAD    0x0100    /* owner may read */
  41. #define S_IWRITE 0x0080    /* owner may write */
  42. #define S_IEXEC    0x0040    /* owner may execute <directory search> */
  43.  
  44. #define    S_ISBLK(m)    (((m) & S_IFMT) == S_IFBLK)
  45. #define    S_ISCHR(m)    (((m) & S_IFMT) == S_IFCHR)
  46. #define    S_ISDIR(m)    (((m) & S_IFMT) == S_IFDIR)
  47. #define    S_ISFIFO(m)    (((m) & S_IFMT) == S_IFIFO)
  48. #define    S_ISREG(m)    (((m) & S_IFMT) == S_IFREG)
  49.  
  50. #ifdef __cplusplus
  51. extern "C" {
  52. #endif
  53. int stat(const char *, struct stat *);
  54. int fstat(int, struct stat *);
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58.  
  59. #endif
  60.